С-Sharp
Создание пакета
using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Sample
{
private const string ApiServerAddress = https://extractor.correct.su;
class ApiClientSingle
{
public async Task<int> CreatePackage()
{
using (var httpClient = new HttpClient
{
BaseAddress = new Uri(ApiServerAddress)
})
{
var authTokenBase64 = "INSERT_TOKEN_HERE";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authTokenBase64);
var response = await httpClient.PostAsync("api/packages", null);
response.EnsureSuccessStatusCode();
var responseContent = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<dynamic>(responseContent);
return result.packageId;
}
}
}
}
Добавление изображений
using System;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Sample
{
class ApiClientSingle
{
private const string ApiServerAddress = https://extractor.correct.su;
public async Task<string> AddImage(int packageId, string fileName, byte[] fileContent)
{
using (var httpClient = new HttpClient
{
BaseAddress = new Uri(ApiServerAddress)
})
{
var authTokenBase64 = "INSERT_TOKEN_HERE";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authTokenBase64);
var requestContent = new MultipartFormDataContent
{
{ new ByteArrayContent(fileContent), "content", fileName }
};
var response = await httpClient.PostAsync($"api/images/package/{packageId}", requestContent);
var responseContent = await response.Content.ReadAsStringAsync();
if (response.StatusCode == HttpStatusCode.UnprocessableEntity)
{
return $"Пакет '{packageId}' уже в работе";
}
response.EnsureSuccessStatusCode();
return responseContent;
}
}
}
}
Запуск распознавания
using System;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Sample
{
class ApiClientSingle
{
private const string ApiServerAddress = https://extractor.correct.su;
public async Task<string> StartRecognition(int packageId)
{
using (var httpClient = new HttpClient
{
BaseAddress = new Uri(ApiServerAddress)
})
{
var authTokenBase64 = "INSERT_TOKEN_HERE";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authTokenBase64);
var response = await httpClient.PostAsync($"api/packages/{packageId}/start", null);
var responseContent = await response.Content.ReadAsStringAsync();
if (response.StatusCode == HttpStatusCode.UnprocessableEntity)
{
return $"Пакет '{packageId}' уже в работе";
}
response.EnsureSuccessStatusCode();
return responseContent;
}
}
}
}
Получение результата
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Sample
{
class ApiClientSingle
{
private const string ApiServerAddress = https://extractor.correct.su;
public async Task<string> GetResult(int packageId)
{
using (var httpClient = new HttpClient
{
BaseAddress = new Uri(ApiServerAddress)
})
{
var authTokenBase64 = "INSERT_TOKEN_HERE";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authTokenBase64);
var response = await httpClient.GetAsync($"api/packages/{packageId}",
HttpCompletionOption.ResponseContentRead);
var responseContent = await response.Content.ReadAsStringAsync();
response.EnsureSuccessStatusCode();
return responseContent;
}
}
}
}
Получение изображения
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Sample
{
class ApiClientSingle
{
private const string ApiServerAddress = https://extractor.correct.su;
public async Task<string> GetImage(int imageId)
{
using (var httpClient = new HttpClient
{
BaseAddress = new Uri(ApiServerAddress)
})
{
var authTokenBase64 = "INSERT_TOKEN_HERE";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authTokenBase64);
var response = await httpClient.GetAsync($"api/images/{imageId}",
HttpCompletionOption.ResponseContentRead);
var responseContent = await response.Content.ReadAsStringAsync();
response.EnsureSuccessStatusCode();
return responseContent;
}
}
}
}
Получение перечня изображений
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Sample
{
class ApiClientSingle
{
private const string ApiServerAddress = https://extractor.correct.su;
public async Task<string> GetImage(int packageId)
{
using (var httpClient = new HttpClient
{
BaseAddress = new Uri(ApiServerAddress)
})
{
var authTokenBase64 = "INSERT_TOKEN_HERE";
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authTokenBase64);
var response = await httpClient.GetAsync($"api/images/package/{packageId}",
HttpCompletionOption.ResponseContentRead);
var responseContent = await response.Content.ReadAsStringAsync();
response.EnsureSuccessStatusCode();
return responseContent;
}
}
}
}